<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

	<!-- Alias similar/metric-compatible families from various sources:

		PostScript fonts:
			Helvetica
			Times
			Courier
		URW fonts:
			Nimbus Sans L
			Nimbus Roman No9 L
			Nimbus Mono L

		Microsoft fonts:
			Arial
			Times New Roman
			Courier New
		Liberation fonts:
			Liberation Sans
			Liberation Serif
			Liberation Mono
		StarOffice fonts:
			Albany
			Thorndale
			Cumberland
		AMT fonts:
			Albany AMT
			Thorndale AMT
			Cumberland AMT

	     Of these, URW fonts are design compatible with PostScrict fonts,
	     and the Liberation, StarOffice, and AMT ones are compatible with
	     Microsoft fonts.

	     We want for each of them to fallback to any of these
	     available, but in an order preferring similar designs
	     first.  We do this in three steps:

		1) Alias each specific to it's generic family.
		   eg. Liberation Sans to Arial

		2) Weak alias each generic to the other generic of its family.
		   eg. Arial to Helvetica

		3) Alias each generic to its specifics.
		   eg. Arial to Liberation Sans, Albany, and Albany AMT

                   However, the AMT fonts are quite ugly and do not
                   render well on-screen, so we avoid matching them if
                   the application said `anymetrics'; in that case, a
                   more generic font with different metrics but better
                   appearance will be used.
	-->

<!-- Map specifics to generics -->

	<!-- PostScript -->
        <alias binding="same">
	  <family>Nimbus Sans L</family>
	  <default>
	  <family>Helvetica</family>
	  </default>
	</alias>

        <alias binding="same">
	  <family>Nimbus Roman No9 L</family>
	  <default>
	  <family>Times</family>
	  </default>
	</alias>

        <alias binding="same">
	  <family>Nimbus Mono L</family>
	  <default>
	  <family>Courier</family>
	  </default>
	</alias>


	<!-- Microsoft -->
        <alias binding="same">
          <family>Liberation Sans</family>
	  <family>Albany</family>
	  <family>Albany AMT</family>
	  <default>
	  <family>Arial</family>
	  </default>
	</alias>

        <alias binding="same">
          <family>Liberation Serif</family>
	  <family>Thorndale</family>
	  <family>Thorndale AMT</family>
	  <default>
	  <family>Times New Roman</family>
	  </default>
	</alias>

        <alias binding="same">
          <family>Liberation Mono</family>
	  <family>Cumberland</family>
	  <family>Cumberland AMT</family>
	  <default>
	  <family>Courier New</family>
	  </default>
	</alias>



<!-- Accept the other group as fallback -->


	<!-- PostScript -->
        <alias>
	  <family>Helvetica</family>
	  <default>
	  <family>Arial</family>
	  </default>
	</alias>

        <alias>
	  <family>Times</family>
	  <default>
	  <family>Times New Roman</family>
	  </default>
	</alias>

        <alias>
	  <family>Courier</family>
	  <default>
	  <family>Courier New</family>
	  </default>
	</alias>


	<!-- Microsoft -->
        <alias>
	  <family>Arial</family>
	  <default>
	  <family>Helvetica</family>
	  </default>
	</alias>

        <alias>
	  <family>Times New Roman</family>
	  <default>
	  <family>Times</family>
	  </default>
	</alias>

        <alias>
	  <family>Courier New</family>
	  <default>
	  <family>Courier</family>
	  </default>
	</alias>



<!-- Map generics to specifics -->


	<!-- PostScript -->
        <alias binding="same">
	  <family>Helvetica</family>
	  <accept>
	  <family>Nimbus Sans L</family>
	  </accept>
	</alias>

        <alias binding="same">
	  <family>Times</family>
	  <accept>
	  <family>Nimbus Roman No9 L</family>
	  </accept>
	</alias>

        <alias binding="same">
	  <family>Courier</family>
	  <accept>
	  <family>Nimbus Mono L</family>
	  </accept>
	</alias>


	<!-- Microsoft -->
        <alias binding="same">
	  <family>Arial</family>
	  <accept>
          <family>Liberation Sans</family>
	  <family>Albany</family>
	  <!-- <family>Albany AMT</family> -->
	  </accept>
	</alias>

        <alias binding="same">
	  <family>Times New Roman</family>
	  <accept>
          <family>Liberation Serif</family>
	  <family>Thorndale</family>
	  <!-- <family>Thorndale AMT</family> -->
	  </accept>
	</alias>

        <alias binding="same">
	  <family>Courier New</family>
	  <accept>
          <family>Liberation Mono</family>
	  <family>Cumberland</family>
	  <!-- <family>Cumberland AMT</family> -->
	  </accept>
	</alias>

       	<match target="pattern">
          <test name="family">
            <string>Times New Roman</string>
          </test>
          <test name="anymetrics" qual="all" compare="not_eq">
            <bool>true</bool>
          </test>
          <edit name="family" mode="append">
            <string>Thorndale AMT</string>
          </edit>
     	</match>
       	<match target="pattern">
          <test name="family">
            <string>Arial</string>
          </test>
          <test name="anymetrics" qual="all" compare="not_eq">
            <bool>true</bool>
          </test>
          <edit name="family" mode="append">
            <string>Albany AMT</string>
          </edit>
     	</match>
       	<match target="pattern">
          <test name="family">
            <string>Courier New</string>
          </test>
          <test name="anymetrics" qual="all" compare="not_eq">
            <bool>true</bool>
          </test>
          <edit name="family" mode="append">
            <string>Cumberland AMT</string>
          </edit>
     	</match>

</fontconfig>
